Skip to content

feat: add read-optimized system table#403

Merged
lxy-9602 merged 5 commits into
alibaba:mainfrom
gripleaf:feat/value_stats_filter
Jul 16, 2026
Merged

feat: add read-optimized system table#403
lxy-9602 merged 5 commits into
alibaba:mainfrom
gripleaf:feat/value_stats_filter

Conversation

@gripleaf

@gripleaf gripleaf commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

Purpose

Add support for the read-optimized $ro system table. For primary-key tables, $ro reads only the highest LSM level produced by full compaction and skips merge-on-read across levels. Append-only tables keep the same read behavior as the base table, including streaming reads.

This also refactors read-optimized scan configuration into DataTableBatchScan, uses context builders for $ro scan/read contexts, and documents freshness and value-stats filtering behavior.

Tests

E2E test:

  • SystemTableTest.TestReadOptimizedSystemTableRegistration
  • SystemTableTest.TestReadOptimizedSystemTablePathParsing
  • TableScanTest.TestReadOptimizedPrimaryKeyStreamingScanUnsupported
  • SystemTableReadInteTest.TestReadOptimizedSystemTable
  • SystemTableReadInteTest.TestReadOptimizedAppendOnlySystemTableWithStreamingScan
  • SystemTableReadInteTest.TestReadOptimizedSystemTableWithBranch
  • SystemTableReadInteTest.TestReadOptimizedSystemTableWithFirstRowMergeEngine

API and Format

No public API, storage format, or protocol changes.

Documentation

Added user guide documentation for system tables and the read-optimized $ro system table.

Generative AI tooling

Generated-by: OpenAI Codex GPT-5

@gripleaf
gripleaf force-pushed the feat/value_stats_filter branch 3 times, most recently from 7aa2715 to 1449d94 Compare July 8, 2026 09:41
@gripleaf
gripleaf marked this pull request as ready for review July 8, 2026 09:45
@gripleaf gripleaf changed the title [WIP] feat: add read-optimized system table feat: add read-optimized system table Jul 8, 2026
@gripleaf
gripleaf force-pushed the feat/value_stats_filter branch from 1449d94 to b125cf8 Compare July 9, 2026 06:33
@lxy-9602

lxy-9602 commented Jul 9, 2026

Copy link
Copy Markdown
Collaborator

@suxiaogang223 Would you mind helping take a look when you have time, since you’re most familiar with system table. Thanks a lot!

Comment thread src/paimon/core/table/source/table_scan.cpp
Comment thread src/paimon/core/table/system/read_optimized_system_table.cpp
Comment thread test/inte/read_inte_test.cpp
Comment thread test/inte/read_inte_test.cpp
Comment thread test/inte/read_inte_test.cpp
Comment thread include/paimon/read_context.h
Comment thread test/inte/read_inte_test.cpp
Comment thread test/inte/read_inte_test.cpp
@gripleaf
gripleaf force-pushed the feat/value_stats_filter branch 2 times, most recently from 8a8f999 to 558f889 Compare July 13, 2026 08:41

@suxiaogang223 suxiaogang223 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I found two additional issues that are not covered by the existing review threads.

Comment thread src/paimon/core/table/system/read_optimized_system_table.cpp
Comment thread docs/source/user_guide/system_tables.rst
@gripleaf
gripleaf force-pushed the feat/value_stats_filter branch from 558f889 to 5098767 Compare July 13, 2026 12:08
@gripleaf

Copy link
Copy Markdown
Contributor Author

@lxy-9602 @suxiaogang223 I have fixed the issues according to the comments. Please take some time to review again when you get a chance.

@lxy-9602 lxy-9602 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1

@lxy-9602
lxy-9602 merged commit ee3fbc0 into alibaba:main Jul 16, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants